package com.kfm.base.array;

public class ArrayDemo {

    public static void main(String[] arg) {
        /*
          123456  6 运行时动态创建变量
          一个变量只能存一个值

          数组： 一个变量可以存一组(0 ~ n 个)相同类型值得数据类型
          数组是引用数据类型
         */
        // 定义数组
        // int[] int数组
        int[] arr;
        boolean array[]; // 定义数组  【不推荐】

        /*
         给数组变量赋值； 分配内存. 每个元素的值都是其数据类型的默认值
            整数默认值为 0
            浮点数默认值为 0.0
            char 默认值为 \u0000 （空白字符）
            boolean 默认值是 false
            其他类型(引用数据类型)是 null

           new 关键字是在 堆(heap)内存中开辟空间.数组的长度就固定了
         */
        arr = new int[5]; // 开辟 5 个连续 int 内存空间

        array = new boolean[3];

        System.out.println(arr);
        System.out.println(array);

        // 数组的长度，大小. 只读
        int len = arr.length;

        // 给数组元素赋值，通过数组元素的下标(索引)
        arr[0] = 6;
        arr[4] = 8;
        arr[arr.length - 1] = 2;

        arr = new int[10];

        arr[9] = 10;

        int n = 1;
        n = 2;

        // 声明并初始化, 数组的长度由元素个数决定
        int[] arr1 = new int[]{1, 2, 3, 4, 5, 6};
        int[] arr2 = {1, 2, 3, 4};


        System.out.println(arr1.length);
        System.out.println(arr2[2] = 1);
    }
}
